package com.gitee.cirnochat.common.model.enums;

import lombok.Getter;

/**
 * 错误码
 *
 * @author FlanChan
 */
@Getter
public enum ErrorCode implements BaseEnum<Integer> {

    SUCCESS(200, "成功"),
    PARAMS_ERROR(400, "请求参数错误"),
    NO_AUTH_ERROR(401, "无权限"), // token 验证失败或未携带
    FORBIDDEN_ERROR(403, "禁止访问"),
    NOT_FOUND_ERROR(404, "请求数据不存在"),

    NOT_TOKEN_ERROR(410, "未携带 accessToken"), // 用户未登录（未绑定 token）
    NOT_LOGIN_ERROR(411, "未登录"), // 用户未登录（未绑定 token）
    TOKEN_EXPIRED(412, "accessToken 过期，可刷新"), // accessToken 无效，refreshToken 有效
    REFRESH_TOKEN_EXPIRED(413, "refreshToken 过期，请重新登录"), //  refreshToken 也无效

    SYSTEM_ERROR(500, "系统内部异常"),
    OPERATION_ERROR(501, "操作失败"),
    PROHIBITED(502, "禁止访问");


    /**
     * 状态码
     */
    private final Integer value;

    /**
     * 信息
     */
    private final String message;

    ErrorCode(int code, String message) {
        this.value = code;
        this.message = message;
    }

}
